package com.six.backend.service;

import com.six.backend.pojo.Log;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;

/**
 * @Author: skyler
 * @Date: 2021/11/21 13:20
 */
public interface LogService {
    /**
     * 保存日志文件
     * @param key 日志文件的id
     * @param url 日志文件的下载路径
     */
    void saveSystemLog(String key, String url);

    /**
     * 查询系统日志
     * @param name 系统日志文件名称
     * @return 系统日志文件信息
     */
    List<Log> selectSystemLog(String name);

    /**
     * 查询系统日志文件(没有参数传递)
     * @return 返回所有的系统日志文件
     */
    List<Log> selectSystemLog();

    /**
     * 查询业务日志文件信息
     * @param name 业务日志文件名称
     * @return 业务日志文件信息
     */
    List<Log> selectBusinessLog(String name);

    /**
     * 查询业务日志文件信息
     * @return 所有的业务日志文件
     */
    List<Log> selectBusinessLog();

    /**
     * 保存业务日志文件信息
     * @param key 业务日志id
     * @param url 业务日志存储路径
     */
    void saveBusinessLog(String key, String url);

    /**
     * 查询日志文件是否存在
     * @param documentName 日志文件名称
     * @return 文件是否存在
     */
    Boolean logIsExist(String documentName);

    /**
     * 清空登录日志
     * @return
     */
    Boolean cleanLoginLog();

    /**
     * 下载日志文件
     * @param fileName 日志文件名称
     * @param response 返回的response数据
     * @throws IOException 抛出io异常
     */
    void downloadLog(String fileName, HttpServletResponse response) throws IOException;
}
